The present invention relates to the field of time series analysis; more particularly, the present invention relates to performing forecasting based on time series data.
A time series is a sequence of observations that are ordered in time (e.g., observations made at evenly spaced time intervals). Some examples of time series data may include end-of-month stock prices for General Electric, hits per day at a web site, weekly sales of Windows 2000, electrical demand per hour in Seattle, daily high tide readings in San Francisco Bay, etc.
A time series may be stationary or non-stationary. A stationary time series has no long-term trend over the period it has been observed. One example of a stationary time series is the electrocardiogram readings of a person at rest. The series may seem noisy and jagged, but the long-term averages stay approximately the same. Another example is the yearly average of daily high tide readings in San Francisco Bay. Although high tide readings may vary from one day to another, their yearly averages stay approximately the same.
A non-stationary time series is characterized by a trend. For instance, the early average of the SandP 500 over the postwar years has distinct trends. Similarly, electrical demand in Seattle has a long-term trend as the demand is increasing in response to a growing population. Most economic time seriesxe2x80x94sales, web site hits, stock pricesxe2x80x94have trends. The trend curve is not necessarily linear. It can go up for a while and then go down.
Various forecasting methods exist that attempt to predict future values of the time series based on the past time series data. Some forecasting methods are as simple as continuing the trend curve smoothly by a straight line. Other forecasting methods are more sophisticated. The most well known and widely used method is the ARIMA procedure (auto-regression and moving averages) due to Box and Jenkins (George E. P. Box, et al., xe2x80x9cTime Series Analysis: Forecasting And Control,xe2x80x9d 3rd Edition, Prentice Hall, Feb. 9, 1994). This procedure assumes that each measurement in a time series is generated by a linear combination of past measurements plus noise. Despite its popularity, the ARIMA method has proved to be inaccurate when used for non-stationary time series data (Spyros Markridaki, et al., xe2x80x9cThe Forecasting Accuracy of Major Time Series Methods,xe2x80x9d John Wiley And Sons 1984). Other existing forecasting methods also failed to provide accurate predictions for such commercial data as sales, web site hits, stock prices, etc.
Thus, an improved forecasting technique is needed that will have the ability to calculate future values of non-stationary time series with a sufficient degree of accuracy.
A method and apparatus for performing forecasting using time series data are described. In one embodiment, the method includes designating a last portion of the time series data as a base pattern, searching the remaining portion of the time series data for candidate patterns using the base pattern, and identifying candidate forecasts corresponding to the candidate patterns in the time series data. The method further includes calculating a set of final forecast values based on the candidate forecasts.